home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD022b.dsk / PARA TESTER.bas < prev    next >
BASIC Source File  |  2003-06-12  |  5KB  |  150 lines

  1. 1  REM  PARAPSYCHOLOGY TESTER
  2. 2  REM  BY DAVID DURKEE-SOFTTALK-JUN 83..MODIFIED BY RA BRIGGS LAKE WALES,FL
  3. 10  GOSUB 1500
  4. 20  GOSUB 1200
  5. 30  TEXT : HOME : INVERSE : PRINT  SPC( 40): POKE 34,1
  6. 40  DEF  FN H(X) = 1 +D +4 *(X -1)
  7. 50  POKE  -16368,0
  8. 60  REM  SEED RANDOM NUMBER
  9. 70  VTAB 15: HTAB 10: INVERSE : PRINT "HIT A KEY TO START"
  10. 80 R =  RND(1):K =  PEEK( -16384): IF K <128  THEN 80
  11. 90  POKE  -16368,0: HOME 
  12. 100  NORMAL : PRINT : PRINT 
  13. 110  VTAB 4: HTAB 1: INPUT "HOW MANY TRIALS (5-33)?";TR
  14. 120  IF TR <5  OR TR >33  THEN 110
  15. 130  VTAB 5: HTAB 1: INPUT "HOW MANY CHOICES (2-10)?";NC
  16. 140  IF NC <2  OR NC >10  THEN 130
  17. 150 D = 20 -2 *NC
  18. 170 F1 = 1:F2 = 1:F3 = 1
  19. 200  VTAB 24: HOME : GOSUB 450
  20. 210 RN =  INT( RND(6) *NC) +1
  21. 220  GOSUB 590
  22. 230  IF RN < >N  THEN 250
  23. 240 NH = NH +1
  24. 250 NT = NT +1: GOSUB 670
  25. 260  IF NT = TR  THEN 870
  26. 270  GOTO 200
  27. 280  REM  PARAMETER INPUT
  28. 290  PRINT M$;
  29. 300  GET A$: IF A$ < >"Y"  AND A$ < >"N"  THEN 300
  30. 310  PRINT A$: RETURN 
  31. 320  REM  TOPLINE
  32. 330  IF NT = 0  THEN PC = 0: GOTO 350
  33. 340 PC =  INT((NH/NT) *100)
  34. 350  INVERSE : VTAB 1
  35. 360  HTAB 1: PRINT "TRIALS:";NT;"";
  36. 370  HTAB 14: PRINT "HITS:";NH;"";
  37. 380  HTAB 24: PRINT "% RIGHT:";PC; SPC( 40 - PEEK(36));
  38. 390  NORMAL 
  39. 400  RETURN 
  40. 410  REM  NOISE FEEDBACK
  41. 420  IF RN = N  THEN  PRINT  CHR$(7); CHR$(7);: RETURN 
  42. 430  FOR X = 1 TO 20:Z =  PEEK( -16336): NEXT X
  43. 440  RETURN 
  44. 450  REM  PRINT "HAND"
  45. 460  INVERSE 
  46. 470  FOR X = 1 TO NC
  47. 480  FOR DL = 1 TO 30 *(11 -NC): NEXT DL
  48. 490  FOR Y = 1 TO 3: VTAB 10 +Y
  49. 500  HTAB  FN H(X)
  50. 510  PRINT  SPC( 3)
  51. 520  NEXT Y
  52. 530  VTAB 12: HTAB 1 + FN H(X)
  53. 540  IF X = 10  THEN  PRINT 0;: GOTO 560
  54. 550  PRINT X;
  55. 560  NEXT X
  56. 570  NORMAL 
  57. 573  HTAB 1: VTAB 18
  58. 575  IF RS$ = "K" GOTO 578
  59. 576  PRINT "PADDLE OR JOYSTICK MOVES LEFT & RIGHT": PRINT : PRINT "BUTTON MAKES SELECTION": GOTO 580
  60. 578  PRINT "ARROW KEYS MOVE LEFT & RIGHT": PRINT : PRINT "<RETURN> KEY MAKES SELECTION"
  61. 580  RETURN 
  62. 590  IF RS$ = "K"  THEN  GOSUB 1300: RETURN 
  63. 600  VTAB 15:N1 = 0
  64. 610 N =  INT( PDL(0) *NC/256) +1
  65. 620  IF  PEEK( -16287) >127  AND N1 = N  THEN  RETURN 
  66. 630  IF N = N1  THEN 610
  67. 640 N1 = N
  68. 650  HTAB 1: CALL  -868: HTAB 1 + FN H(N): PRINT "^";
  69. 660  GOTO 610
  70. 670  REM  FEEDBACK ROUTINE
  71. 680  IF F1  THEN  GOSUB 410
  72. 690  IF F2  THEN  GOSUB 320
  73. 700  IF   NOT F3  THEN  RETURN 
  74. 710  FOR X = 1 TO 6
  75. 720  IF RN = N  THEN  NORMAL : VTAB 5: HTAB 16: PRINT "RIGHT!!!"
  76. 730  FOR DL = 1 TO 75: NEXT DL
  77. 740  VTAB 11
  78. 750  NORMAL : IF X/2 =  INT(X/2)  THEN  INVERSE 
  79. 760  FOR Y = 1 TO 3
  80. 770  VTAB 10 +Y: HTAB  FN H(RN)
  81. 780  PRINT  SPC( 3);
  82. 790  NEXT Y
  83. 800  VTAB 12: HTAB 1 + FN H(RN)
  84. 810  IF RN = 10  THEN  PRINT "0";: GOTO 830
  85. 820  PRINT RN;
  86. 830  VTAB 5: HTAB 1: CALL  -868: FOR DL = 1 TO 75: NEXT DL
  87. 840  NEXT X
  88. 850  NORMAL 
  89. 860  RETURN 
  90. 870  REM  DO END OF RUN STATISTICS
  91. 880  GOSUB 320
  92. 890 PB = 0
  93. 895  IF NH = 0 GOTO 940
  94. 900  FOR X = 0 TO NH -1
  95. 910  GOSUB 1060
  96. 920 PB = PB +PR
  97. 930  NEXT X
  98. 940 PB = 1 -PB
  99. 950  HOME 
  100. 960  VTAB 5: HTAB 8: PRINT "TRIALS:";NT
  101. 970  VTAB 7: HTAB 7: PRINT "CHOICES:";NC
  102. 980  VTAB 9: HTAB 10: PRINT "HITS:";NH
  103. 990  PRINT "....................."
  104. 1000  PRINT "PROBABALITY=";PB
  105. 1010  PRINT 
  106. 1020  IF PB >.05 GOTO 1030
  107. 1022  PRINT "THIS IS STATISTICALLY SIGNIFICANT."
  108. 1025  PRINT : PRINT "YOU WOULD DO THAT WELL OR BETTER BY": PRINT : PRINT "CHANCE ALONE ONLY "; INT(PB *100);" PERCENT OF THE TIME."
  109. 1027  GOTO 1050
  110. 1030  PRINT "THIS IS NOT STATISTICALLY SIGNIFICANT."
  111. 1035  PRINT : PRINT "YOU WOULD DO AT LEAST THAT WELL BY": PRINT : PRINT "CHANCE ALONE "; INT(PB *100);" PERCENT OF THE TIME."
  112. 1050  VTAB 23: HTAB 12: PRINT "AGAIN? (Y OR N)";: GET AG$: PRINT AG$: HOME : IF AG$ = "Y"  THEN  CLEAR : GOTO 20
  113. 1051  PRINT : PRINT  CHR$(4)"RUNMENU"
  114. 1060  REM  CALCULATE PROBABILITY
  115. 1070 P = 1/NC:Q = 1 -P
  116. 1080 N = NT: GOSUB 1130:N1 = NF
  117. 1090 N = X: GOSUB 1130:N2 = NF
  118. 1100 N = NT -X: GOSUB 1130:N3 = NF
  119. 1110 PR = (N1 *P ^X *Q ^(NT -X))/(N2 *N3)
  120. 1120  RETURN 
  121. 1130  REM  FACTORIAL
  122. 1140 NF = 1
  123. 1150  FOR CT = 1 TO N
  124. 1160 NF = NF *CT
  125. 1170  NEXT 
  126. 1180  RETURN 
  127. 1200  HOME : VTAB 4
  128. 1212  PRINT : HTAB 10: PRINT "K = KEYBOARD": PRINT : HTAB 10: PRINT "P = PADDLES": PRINT : HTAB 10: PRINT "J = JOYSTICK": PRINT : PRINT "WHICH ";: GET RS$: PRINT RS$
  129. 1280  HOME : NORMAL : RETURN 
  130. 1300  REM  KEYBOARD INPUT ROUTINE
  131. 1310  VTAB 15:N =  INT(NC/2)
  132. 1320  HTAB 1: CALL  -868: HTAB 1 + FN H(N): PRINT "^";
  133. 1330  HTAB 1 + FN H(N): GET A$
  134. 1340  IF A$ =  CHR$(13)  THEN  RETURN 
  135. 1350  IF A$ =  CHR$(8)  THEN N = N -1: GOTO 1380
  136. 1360  IF A$ =  CHR$(21)  THEN N = N +1: GOTO 1380
  137. 1370  GOTO 1330
  138. 1380  IF N <1  THEN N = NC
  139. 1390  IF N >NC  THEN N = 1
  140. 1395  GOTO 1320
  141. 1500  TEXT : HOME : HTAB 08: PRINT "PARAPSYCHOLOGY TESTER"
  142. 1510  PRINT : PRINT "  THIS PROGRAM WAS WRITTEN BY DAVID"
  143. 1520  PRINT : PRINT "DURKEE AND WAS SENT TO SOFTDISK BY"
  144. 1530  PRINT : PRINT "R.A. BRIGGS.  IT FIRST APPEARED"
  145. 1540  PRINT : PRINT "ON PAGE 223 OF JUNE 83 SOFTALK."
  146. 1550  PRINT : PRINT "  THE OBJECT OF THE PROGRAM IS TO TRY"
  147. 1560  PRINT : PRINT "TO OUTGUESS THE APPLE RANDOM NUMBER"
  148. 1570  PRINT : PRINT "GENERATOR.  IF YOU GUESS RIGHT OFTEN"
  149. 1580  PRINT : PRINT "ENOUGH THEN MAYBE YOU HAVE ESP."
  150. 1599  VTAB 24: HTAB 10: INVERSE : PRINT "HIT SPACE BAR";: NORMAL : GET R$: PRINT R$: RETURN